Vision systems that perform measurement, inspection, alignment of objects and/or decoding of symbology codes or marks (e.g. one-dimensional (1D) and two-dimensional (2D) datamatrix bar codes, DotCodes, etc.—also termed “IDs”) are used in a wide range of applications and industries. These systems are based around the use of an image sensor (also termed an “imager”), which acquires images (typically grayscale or color, and in one, two or three dimensions) of the subject or object, and processes these acquired images using an on-board or interconnected vision system processor. The processor generally includes both processing hardware and non-transitory computer-readable program instructions that perform one or more vision system processes to generate a desired output based upon the image's processed information. This image information is typically provided within an array of image pixels each having various colors and/or intensities. In the example of an ID reader (also termed herein, a “camera”), the user or automated process acquires an image of an object that is believed to contain one or more barcodes, 2D codes or other ID types. The image is processed to identify code features, which are then decoded by a decoding process and/or processor obtain the inherent data represented by the code.
A commonly used ID reader is the handheld type, that a user directs at an object or scene containing an ID, and then pull a trigger (typically a button on the handle) to acquire and decode the code. Often, a successful reading/decoding of the code is followed by a visual and/or audible alert—such as a green light and/or a beep. Handheld ID readers can include one or more types of “internal” illumination—that is, illumination that is projected from the housing of the reader itself. Such illumination can be provided in a variety of colors, diffusivity, and/or angles with respect to the scene. More generally, the relative angle at which an ID is imaged, the ambient light conditions and nature of the ID can all vary substantially. For example, IDs can be printed on an object as a high-contrast pattern or a low-contrast pattern, or formed on an object as a non-printed, peened/engraved pattern. The reader should accommodate all these variations and make appropriate adjustment to its parameters, such as pixel gain, brightness exposure and/or illumination type and/or intensity so as to provide an optimal image for decoding.
Prior art systems have attempted to optimize reader performance in a variety of manners. For example, some systems acquire a stream of images, each at different camera parameter settings, and analyze the images to determine the quality of features in the image. One or more of the images is decoded. Other systems attempt to acquire pre-triggered images of the scene in an effort to determine prevailing conditions so that, when the trigger is pulled, the image is acquired at a camera setting that is more optimal to the conditions. However, the first exemplary approach disadvantageously delays final acquisition of the decoded image and the second exemplary approach disadvantageously requires that the user maintain the reader in relatively the same location and orientation prior to pulling the trigger. Both of these approaches can reduce (or do not increase) the “snappiness” of the device—that is, the trigger-to-beep time, in which a successful read occurs.
It is therefore desirable to provide a system and method that enables increased snappiness with respect to the recognition and handling (e.g. ID finding and decoding) of features of interest on object in imaged scenes where there can exist great variation between light and other conditions with respect to each of the objects and/or each of the scenes. More generally, it is desirable that the system and method effectively provide for responsive auto-regulation of the device in a varying lighting and/or image-acquisition environments